/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */

// var twoSum = function (nums, target) {
    // for (let i = 0; i < nums.length - 1; i++) {
    //     let next = target - nums[i];

    //     for (let j = i + 1; j < nums.length; j++) {
    //         if (nums[j] == next) {
    //             return [i, j]
    //         }
    //     }
    // }
// };


// //最快
// var twoSum = function (nums, target) {
//     let map = new Map();
//     for (let i = 0; i < nums.length; i++) {
//         let dif = target - nums[i]
//         if (map.has(dif)) {
//             return [map.get(dif), i]
//         }
//         map.set(nums[i], i);
//     }
// };

//最低内存
var twoSum = function (nums, target) {
    for (let i = 0; i < nums.length - 1; i++) {
        let j = nums.lastIndexOf(target - nums[i]);
        if(j>i){
            return [i,j]
        }
    }
    return 'error'
};


let nums = [1, 3,4];
console.log(twoSum(nums, 5));

//*map 学习*//

let map = new Map();
nums.forEach((ele, i) => {
    map.set(ele, i);
    // console.log('map:', map);
    // console.log('map.size:', map.size);
    // console.log('map.has(3):', map.has(3));
    // console.log('map.get(3):', map.get(3));
})
// console.log('map:', map);
